/**编译参数*/
interface FinalDataParams {
  cname: string,
  className: string,
  type?: string
}
/**传入的参数 */
export default class FinalData {
  /**模版名称 */
  cname: string
  /**类名 */
  className: string
  /**类型,p:page,w:widget, */
  type: string = 'page'
  constructor (params: FinalDataParams) {
    this.cname = params.cname
    this.className = params.className
    !!params.type && (this.type = params.type)
  }

  /**最终值 */
  get value () {
    let prefix = this.type == 'page' ? 'p_' : 'c_'
    return {
      cname: this.cname,
      className: prefix + this.className,
    }
  }

  /**选项方法 */
  static option (params: FinalDataParams) {
    return new FinalData(params).value
  }

}